<?php

namespace app\admin\model;

use think\Db;
use think\Model;

class CommonModel extends Model
{
    protected $autoWriteTimestamp = true;//自动写入时间戳

    //富文本转换
    public function getPostContentAttr($value){
        return cmf_replace_content_file_url(htmlspecialchars_decode($value));
    }

    public function getContentAttr($value){
        return cmf_replace_content_file_url(htmlspecialchars_decode($value));
    }

    //富文本设置
    public function setPostContentAttr($value)
    {
        return htmlspecialchars(cmf_replace_content_file_url(htmlspecialchars_decode($value), true));
    }

    //查询单条数据
    public function findWhereData($table,$where,$field,$order='id desc'){
        $res = Db::name($table)
            ->where($where)
            ->field($field)
            ->order($order)
            ->find();
        return $res;
    }

    //查询多条数据
    public function selectData($table,$field,$order='id desc'){
        $res = Db::name($table)
            ->field($field)
            ->order($order)
            ->select()
            ->toArray();
        return $res;
    }

    //查询条件多条数据
    public function selectWhereData($table,$where,$field,$order='id desc'){
        $res = Db::name($table)
            ->where($where)
            ->field($field)
            ->order($order)
            ->select()
            ->toArray();
        return $res;
    }

    //合并数组
    public function array_merge_more($keys, ...$arrs){
        // 检查参数是否正确
        if(!$keys || !is_array($keys) || !$arrs || !is_array($arrs) || count($keys)!=count($arrs)){
            return array();
        }
        // 一维数组中最大长度
        $max_len = 0;
        // 整理数据，把所有一维数组转重新索引
        for($i=0,$len=count($arrs); $i<$len; $i++){
            $arrs[$i] = array_values($arrs[$i]);

            if(count($arrs[$i])>$max_len){
                $max_len = count($arrs[$i]);
            }
        }
        // 合拼数据
        $result = array();
        for($i=0; $i<$max_len; $i++){
            $tmp = array();
            foreach($keys as $k=>$v){
                if(isset($arrs[$k][$i])){
                    $tmp[$v] = $arrs[$k][$i];
                }
            }
            $result[] = $tmp;
        }
        return $result;
    }
}
